STEP |
Video enabled ? |
ACTION |
IF ERROR |
COMMENT |
---|---|---|---|---|
1 | No | checkpoint 00 | ||
2 | No | Part 1 of CPU test. | If an error, send checkpoint 80 (hex) then halt. | |
3 | No | checkpoint 01 | ||
4 | No | Part 2 of CPU test. | If an error, send checkpoint 80 (hex) then halt. | |
5 | No | checkpoint 02 | ||
6 | No | See if 8-bit checksum of ROM is 00h. | If not 00h, send checkpoint 81 (hex) then halt. | ROM = Ruud's Diagnostic ROM |
7 | No | checkpoint 03 | ||
8 | No | Quote: 'Initialise the 8255 multi-port chip' | ||
9 | No | Quote: 'Make sure that turbo is off and disable memory parity' | ||
10 | No | Quote: 'Disable NMI interrupts' | ||
11 | No | Quote: 'Enable the expansion unit' | Extender card for IBM 5161. | |
12 | No | Quote: 'Disable the CGA and MDA video system ...' | ||
13 | No | Quote: 'Initialise the MDA port' | ||
14 | No | Quote: 'Initialise the CGA port' | ||
15 | No | Look for MDA or CGA video RAM. | If neither found, send checkpoint 8F then halt. | MDA or CGA video card required by this diagnostic. |
16 | No | Test 96 bytes of the found video RAM. | If test unsuccessful, send checkpoint 8F then halt. | Video RAM is used by this diagnostic for a stack and many error counters. |
17 | No | Initialise MDA or CGA card. | ||
18 | No | checkpoint 04 | ||
19 | No | Quote: 'Clear the video screen' | ||
20 | No | checkpoint 05 | ||
21 | No | Quote: 'Set the correct mode', then 'Make the cursor invisible' | ||
22 | No | checkpoint 06 | ||
23 | Yes | Quote: 'Prepare the RAM for storage' | Zero the error counters that the diagnostic stores in video RAM. | |
24 | Yes | checkpoint 07 | ||
25 | Yes | On-screen, display the name of the program and the version. | ||
26 | Yes | Beep the speaker. | A single beep. | |
27 | Yes | checkpoint 08 | ||
28 | Yes | Display "Testing CPU" | ||
29 | Yes | checkpoint 09 | ||
30 | Yes | Part 1 of CPU test. | If an error, send checkpoint 82 (hex) then halt. | |
31 | Yes | checkpoint 0A | ||
32 | Yes | Part 2 of CPU test. | If an error, send checkpoint 82 (hex) then halt. | |
33 | Yes | checkpoint 0C | ||
34 | Yes | Display "Diagnostic ROM checksum" | ||
35 | Yes | checkpoint 0E | ||
36 | Yes | See if 8-bit checksum of ROM is 00h. | If not 00h, send checkpoint 83 (hex) then halt. | Checkpoint 83 (hex) will never occur, because this check was done earlier at step 6. |
37 | Yes | checkpoint 12 (hex) | ||
38 | Yes | Quote: 'Disable the DMA controller' | ||
39 | Yes | Quote: 'Disable the speakers and enable timer 2' | ||
40 | Yes | checkpoint 16 (hex) | ||
41 | Yes | Display "8253 timer channel 0" | ||
42 | Yes | Test 8253 timer channel 0. | If an error, send checkpoint 86 (hex). | |
43 | Yes | checkpoint 18 (hex) | ||
44 | Yes | Display "8253 timer channel 1" | ||
45 | Yes | Test 8253 timer channel 1. | If an error, send checkpoint 88 (hex). | |
46 | Yes | checkpoint 1A | ||
47 | Yes | Display "8253 timer channel 2" | ||
48 | Yes | Test 8253 timer channel 2. | If an error, send checkpoint 8A. | |
49 | Yes | checkpoint 1C | ||
50 | Yes | Display "8237A DMA controller" | ||
51 | Yes | checkpoint 1E | ||
52 | Yes | Test the 8237A DMA controller. checkpoint 22 will be output many times during this test. |
If an error, send checkpoint 8B then halt. | |
53 | Yes | checkpoint 24 (hex) | ||
54 | Yes | Quote: 'Init the DMA and 8253 so the DRAM will be refreshed from now on' | ||
55 | Yes | checkpoint 26 (hex) | ||
56 | Yes | Display "8255 parity check" | ||
57 | Yes | checkpoint 28 (hex) | ||
58 | Yes | Quote: 'Check if a parity error occurs even if the parity check has been disabled' | ||
59 | Yes | Parity error? | If a parity error, send checkpoint 8C. | The 8255 chip should not be signaling that a parity error was detected. |
60 | Yes | checkpoint 2A | ||
61 | Yes | Display "Check first 2 KB of RAM" | ||
62 | Yes | checkpoint 2E | ||
63 | Yes | Check the first 2 KB of RAM. | If an error, send checkpoint 8E then put error details on-screen, then halt the CPU. | |
64 | Yes | checkpoint 32 (hex) | ||
65 | Yes | Display "Found RAM:" | See how much Conventional memory can be found. Strickly speaking, what this diagnostic reports is the top address of RAM. For example, in the misconfiguration shown at here, the diagnostic will report 640 KB. Same if a RAM card goes faulty in a way that creates a gap between motherboard RAM and card RAM. |
|
66 | Yes | See how much RAM can be found. | ||
67 | Yes | checkpoint 34 (hex) | ||
67 | Yes | Display the amount of RAM found. | ||
68 | Yes | checkpoint 35 (hex) | ||
69 | Yes | Display "Testing RAM - Data" | ||
70 | Yes | Do a data test of the found RAM. | If an error, send checkpoint 8E then put error details on-screen, then halt the CPU. | |
71 | Yes | checkpoint 37 (hex) | ||
72 | Yes | Display "Testing RAM - Address" | ||
73 | Yes | Do an adddress test of the found RAM. | If an error, send checkpoint 8E then put error details on-screen, then halt the CPU. | |
... | ||||
... | ||||
... | ||||
... | ||||
... | ||||
... | ||||
... |